计算机网络就是通过通信链路(communication link)相互连接(interconnect)的一组计算机

  • 一组通过单一技术相互连接的自主计算机集合

如果两台计算机能够交换信息,则称这两台计算机是相互连接的(interconnected)

一般来说,在用户看来,分布式系统只是一个模型或范型。通常在操作系统之上有一层软件负责实现这个模型,这个软件就称为中间件(middleware)

最著名的分布式系统(distributed system)是万维网(World Wide Web)

实际上,分布式系统是建立在网络之上的软件系统,因此,网络与分布式系统之间的区别在于软件(特别是操作系统)

使用计算机网络

商业应用

资源共享(resource sharing)

  • 目标是让网络中的任何人都可以访问所有的程序、设备,尤其是数据,并且这些资源和用户所处的物理位置无关
  • 设备
    • 打印机、扫描仪、…
  • 信息
    • 客户记录、产品信息、库存数据、财务决算、缴税信息、…

通信媒介(communication medium)

  • 电子邮件(E-mail, electronic mail)、IP语音(VoIP, Voice over IP)、视频会议、桌面共享(desktop sharing)

电子商务(e-commerce)

  • B2B: Business to business
  • B2C: Business to consumer
  • C2C: Consumer to consumer

虚拟专用网络(Virtual Private Networks, VPN)可以将不同地点的单个网络联结成一个扩展的网络

客户机-服务器模型(client-server model)

  • Web 应用的模型

客户 / 服务器机器

  • 客户机进程通过网络将一个消息发送给服务器进程,然后客户机进程等待应答消息
  • 当服务器进程获得了该请求后,它就执行客户所请求的工作,或查询客户所请求的数据,然后发回一个应答消息

家庭应用

Internet 接入为家庭用户提供了到远程计算机的连通性(connectivity)

  • 访问远程信息(remote information)
    • 浏览万维网 Web
  • 对等通信(peer-to-peer communication)
    • E-mail、VoIP、即时消息(instant message)
    • 共享音乐和视频、远程学习(telelearning)
  • 电子商务(e-commerce)
    • 电子市场
  • 娱乐(entertainment)
    • IPTV、电子游戏
  • 普适计算(ubiquitous computing)
    • 传感器(senser)、射频识别(RFID, Radio Frequency IDentification)

原则上每个人都可以与一个或多个其他人通信,客户端和服务器没有固定的分工

一些电子商务的形式

  • 企业、消费者、政府

移动用户

  • 无线网络和移动计算的结合

  • 可穿戴式计算机(wearable computer)

  • SoLoMo —— Social,Local,Mobile

  • 全球定位系统(GPS, Global Positioning System)

  • 移动商务(m-commerce, mobile-commerce)

  • 近场通信(NFC, Near Field Communication)

  • 固定 / 移动无线

社会问题

  • 社交网络
  • 员工权益与用人单位权利
  • 政府和公民权
  • 黑客和犯罪
  • 位置隐私
  • 垃圾邮件
  • 钓鱼(phishing)
  • 电子赌博,法律问题
  • 版权保护

完全自动图灵测试(CAPTCHA, Completely Automated Public Turing test to tell Computers and Humans Apart)

  • 区分人类和计算机
  • 要求一个人解决一个识别任务,根据对方的响应来判断是否是人类实体在响应

网络硬件

网络分类(Taxonomy of Networks)

  • 传输技术(transmission technology)
  • 网络尺度(scale)

传输技术(transmission technology)

广播式链路(broadcasting links)

  • 通信信道被网络上的所有机器所共享
  • 任何一台机器发出的数据包能被所有其他任何机器收到
    • 每个数据包的地址字段指定了预期的接收方。当一台机器收到一个数据包时,它要检查地址字段。如果包的目的地就是接收机器,则该机器要处理此数据包;如果包的目的地址是其他机器,则该机器就忽略此数据包
  • 例子,无线网络

点到点链路(point-to-point links)

  • 将一对单独的机器连接起来
  • 数据包 / 包(packet):短消息
    • 在一个由点到点链路组成的网络中,为了从源端到达接收方,短消息必须首先访问一个或多个中间机器
    • 通常在网络中可能存在多条不同长度的路由,因此,找到一条好的路由对点到点网络非常重要
  • 单播(unicasting)
    • 点-点传输只有一个发送方和一个接收方

广播(broadcasting) / 组播(multicasting)

  • 广播是在地址字段中使用特殊的编码,发送给所有机器
  • 组播是支持给一组机器发送数据包的模式

网络拓扑(network topology)

将拓扑看作网络的虚拟形状或结构

  • 环状、网状、星状、全连接、线形、树状、总线

网络尺度(scale)

  • 个域网、局域网、城域网、广域网、互联网络(internetwork)
  • 星际互联网络(Interplantary Internet): 跨越太空把网络连接起来

个域网(PAN, Personal Area Network)

允许设备围绕着一个人进行通信

常见例子

  • 计算机通过无线网络与其外围设备连接
    • 蓝牙(bluetooth) IEEE 802.15

局域网(LAN, Local Area Network)

局域网是一种私有网络,一般在一座建筑物内或建筑物附近,比如家庭、办公室、工厂

局域网被广泛用来连接个人计算机和消费类电子设备,使它们能够共享资源(比如打印机)和交换信息

当局域网被用于公司时,它们就称为企业网络(enterprise network)

无线局域网

  • IEEE 802.11 (WiFi)
  • 在任何地方可以从 11 Mbps ~ 几百 Mbps 的速率运行
  • 每台计算机与接入点(AP, Access Point) / 无线路由器(wireless router) / 基站(base station)通信
    • 负责中继无线计算机之间的数据包,还负责中继无线计算机和 Internet 之间的数据包

有线局域网

  • 使用铜线、光纤作为传输介质
  • 大小受到限制
  • 速度在 100 Mbps ~ 1 Gbps 之间
  • 延迟很低
  • 很少发生错误

以太网(Ethernet): IEEE 802.3

  • 最常见的一种有线局域网
  • 交换式以太网(switched Ethernet)
    • 每台计算机按照以太网协议规定的方式运行,通过一条点到点链路连接到一个交换机(switch)
    • 一个交换机有多个端口(port),每个端口链接一台计算机
    • 交换机的工作是中继与之连接的计算机之间的数据包,根据每个数据包中的地址来确定这个数据包要发送给哪台机器

扩展(expand)和划分(divide)局域网

为了建立较大的局域网

  • 交换机必须插入到彼此的端口中

将一个大的物理局域网分成两个较小的逻辑局域网

  • 虚拟局域网(VLAN, Virtual LAN)
    • 每个端口都带有一个“彩色”标签,然后交换机在转发数据包时,将连接到不同颜色端口的计算机区别开来。就好像存在不同的局域网一样

经典以太网(classic Ethernet)

在最初的以太网设计中,所有的数据包在一条线性电缆上广播,因而一次至多只有一台机器能够成功发送,为此需要一个分布式仲裁机制来解决冲突问题

  • 分布式仲裁机制的算法:只要电缆空闲计算机就可以传输;如果两个或两个以上的数据包发生冲突,每台计算机只是等待一个随机时间后再次尝试发送

经典以太网的拓扑结构

广播网络的信道分配

无线和有线广播网络可分为静态设计和动态设计,两种设计取决于如何分配信道

静态分配(static allocation)

  • 将时间划分成离散的时间间隔(时间槽 time slot)并使用轮循算法,每台机器只能在分配给它的时间槽到来时广播
  • 当一台机器在分配给它的时间槽到来时没有数据要发送,这种方法就浪费了信道容量(此时其他计算机也不允许发送)

动态分配(dynamic allocation)

  • 按需分配
  • 集中式(centralized)
    • 有一个中心实体(entity)决定接下来谁使用信道
  • 分散式(decentralized)
    • 没有中心实体,每台机器必须自行决定是否可以传输

城域网(MAN, Metropolitan Area Network)

范围可以覆盖一个城市

无线城域网:IEEE802.16 WiMAX

  • 基于有线电视的城域网
  • 接线盒(junction box)

广域网(WAN, Wide Area Network)

范围很大,能跨越很大地理区域,通常是一个国家、地区、大陆

  • 把机器称为主机(host)
  • 把连接这些主机的网络其余部分称为通信子网(communication subnet),简称子网(subnet)
    • 子网的工作是把信息从一个主机携带到另一个主机

通信子网

传输线路(transmission line)

  • 负责在机器之间移动比特
  • 可以是铜线、光纤、无线链路

交换元素(switching element),简称交换机(switch)

  • 是专用的计算机,负责连接两条或两条以上的传输线路
  • 当数据到达一条入境线路时,交换元素必须选择一条出境线路把数据转发出去
  • 现在常用的名称是路由器(router)
    子网(subnet)
  • 一组路由器和通信线路的集合,主要负责将数据包从源主机移动到目标主机

广域网和局域网的区别

  1. 线路长度
  2. 在广域网中,主机和子网是由不同的人拥有和经营
  3. 路由器通常连接不同类型的网络技术
    • 意味着许多广域网是事实上的互联网络(internetwork)或复合网络,即由多个网络组成的网络
      子网连接什么
    • 子网可以连接单个计算机,就像连接到局域网一样,或连接整个局域网

虚拟专用网络(VPN, Virtual Private Network)

相比租赁专线,VPN 具有虚拟化的一贯优势,提供了重用某种资源(Internet 连接)的灵活性;也有虚拟化的一般缺点,缺乏对底层资源的控制

  • 灵活但缺少控制

ISP 网络(ISP network)

子网由不同的公司负责运营

子网经营者称为网络服务提供商(network service provider)

提供与Internet的其他网络相连的子网运营商称为Internet服务提供商(ISP, Internet Service Provider)

  • 子网由 ISP 运营

包(packet)

  • 消息在发送之前被分割成数据包

包交换(packet-switched) / 存储-转发(store-and-forward)

  • 每个中间路由器接收整个包,然后等到出境线路空闲就转发出去

路由算法(routing algorithm)

  • 网络中可能存在许多条路径连接两个计算机 / 路由器
  • 网络如何决定使用哪条路径的策略

转发算法(forwarding algorithm)

  • 路由器如何决定把一个数据包发送到哪个位置的策略

卫星网络在本质上是广播的

蜂窝移动电话网络是采用无线技术的广域网例子

互联网络(Internetwork)

一组相互连接的网络称为互联网络(internetwork)或互联网(internet)

  • 这些术语一般更具有通用意义(generic)

因特网(Internet)是一个特殊的互联网络

  • 使用 ISP 网络来连接各种各样的网络

互联网络的定义

  1. 网络的不同部分采用的不同的底层技术(广播技术与点到点链路及有线与无线)
  2. 不同的组织出资构建了网络的不同部分,并且各自维持自己出资构建的那部分网络的运营

将两个或多个网路连接起来并提供必要转换的机器,其硬件和软件方面的总称是网关(gateway)

网络软件

协议层次结构

分层

  • 为了降低网络设计的复杂性,绝大多数网络都组织成一个层次栈(a stack og layer)或分级栈(a stack of level),每一层都建立在其下一层的基础之上

服务

  • 每一层的目的是向上一层提供特定的服务,而把如何实现这些服务的细节对上一层加以屏蔽

第 n 层协议

  • 一台机器上的第 n 层与另一台机器上的第 n 层进行对话,该对话中使用的规则和约定统称为第 n 层协议

协议(protocol)是指通信双方就如何进行通信的一种约定

  • 定义格式,网络实体之间发送和接收的消息的顺序、消息传输和接收所采取的行动

协议分层

  • 不同机器上构成相应层次的实体称为对等体(peer)
    • 可能是软件过程、硬件设备、人类
    • 对等体为了实现彼此沟通才是用协议来进行通信
  • 第 1 层下面是物理介质(physical medium),通过它进行实际的通信
  • 虚线表示虚拟通信,实线表示物理通信
  • 在每一对相邻层次之间的是接口(interface)
    • 接口定义了下层向上层提供哪些原语操作和服务

KISS 原则(Keep It Simple, Stupid)

  • 保持简单和明确能够减少复杂性
    • 层数、清楚的接口
  • 要求每一层完成一组特定的有明确含义的功能

网络体系结构(network architecture)

  • 层和协议的集合

网络体系结构的规范必须包含足够的信息,以便实现者为每一层编写的程序或者涉及的硬件能遵守有关的协议

实现细节和接口规范不属于网络体系结构的内容,因为它们隐藏在机器内部,对于外界是不可见的

一个网络中所有机器上的接口也不必都一样,只要每台机器能够正确地使用所有的协议接即可

协议栈(protocol stack)

  • 一个特定的系统所使用的一组协议,即每一层一个协议

向 5 层网络的最顶端提供通信

  • 假设第 5 层上运行的一个应用进程产生了一条消息 M ,并将它传递给第 4 层以便传给对等进程
  • 第 4 层在消息的前面加上一个头(header),用来标识该消息,并且把结果传给第 3 层
  • 该头包含了一些控制信息,例如地址,主要被目标机器的第 4 层用来递交消息
  • 几乎所有第 3 层协议对消息大小有限制,因此第 3 层必须把入境消息分割成较小的单元,即数据包或包(packet),并且在每个数据包前面加上第 3 层的头
  • 第 3 层决定使用哪些输出线路,并且把分组传给第 2 层
  • 第 2 不仅在每一个消息上加上一个头信息还要加上一个尾,然后将结果传输单元送给第 1 层以便进行物理传输
  • 在接收端的机器上,消息自底向上逐层传递,在传递过程中各个头被剥离
  • 支持第 5 层虚拟通信的信息流

协议层次结构中的较低层往往由硬件或者固件实现。然而,即使它们被(全部或部分)嵌入到硬件中,仍然会涉及复杂的协议算法

层次设计问题

可靠性(reliability)

保证网络正常运行,即使网络由本身并不可靠的组件所构成

机制(mechanisms)

  • 检错(error detection)
    • 从接收到的信息中发现错误
  • 纠错(error correction)
    • 从接收到的可能不正确的比特中恢复正确的消息
  • 路由(routing)
    • 找到通过网络的工作路径

网络演进(network revolution)

协议分层(protocol layering)

  • 支持变化

寻址(addressing)和命名(naming)

  • 每一层在特定的消息中都需要一种机制来标识发送方和接收方
  • 在下层叫寻址,在上层叫命名

网络互联(internetworking)

  • 不同的网络技术具有不同的限制

可扩展的(scalable)

  • 网络规模变大时仍能工作良好的设计

资源分配(resource allocation)

网络基于其底层的资源(比如传输线路的容量)向主机提供服务

  • 统计复用(statistical multiplexing)
    • 根据统计需求来共享带宽
  • 流量控制(flow control)
    • 保持快速发送方不会用数据把慢速接收方淹没
  • 拥塞(congestion)
    • 网络超载
  • 服务质量(quality of service)
    • 实时(real-time)传递和其他的服务

威胁(threats)

机密性(confidentiality)

  • 通信窃听(eavesdropping)

完整性(integrity)

  • 防止消息的诡秘变化

认证(authentication)

  • 假冒(impersonation)

面向连接与无连接服务

下层可以向上层提供两种不同类型的服务:面向连接的服务和无连接的服务

面向连接的服务

面向连接的服务(connection-oriented service)是按照电话系统建模的

用户必须建立连接,然后使用该连接传输数据,最后释放该连接

最本质的方面在于像一个管道:发送方把对象(数据位)压入管道的一端,接收方在管道的另一端将它们取出来。在绝大多数情况下,数据位保持原来的顺序,所以数据位都会按照发送的顺序到达

  • 协商(negotiation)
  • 电路(circuit)

无连接的服务

无连接服务(connectionless service)是按照邮政系统建模的

每个报文都携带了完整的目标地址,每个报文都由系统中的中间节点路由,而且路由独立于后续报文。先发送的报文可能被延迟。

报文(message):数据包 / 包(packet)是网络层的报文

存储-转发交换(store)

  • 如果中间节点只能在收到报文的全部内容之后再将该报文发送给下一个节点
    直通式交换(cut-through switching)
  • 在报文还没有被全部接收完毕之前就向下一个节点传输

服务质量(quality of service)
每个服务都可以用一个服务质量来表述其特征

  • 可靠的(reliability)
    • 意味着从来不丢失数据
    • 用确认(acknowledgement)实现的
  • 延迟(delay / latency)
    • 确认过程引入额外的开销(overhead)和延迟

补充

可靠的面向连接服务

  • 报文序列(message sequence)
    • 报文的边界始终得到保持
  • 字节流(byte stream)
    • 没有任何报文边界
  • 典型情形:文件传输(file transfer)

不可靠的无连接服务

  • IP 语音(voice over IP)
  • 视频会议
  • 垃圾邮件(junk mail),不需要确认和连接
  • 通常称为数据报服务(datagram service)

有确认的数据报服务(acknowledged datagram service)

  • 通过确认提高了可靠性

请求-应答服务(request-replay service)

  • 发送方传输一个包含某个请求的数据报;接收方以一个包含了请求结果的应答数据报作为反馈

服务原语

一个服务由一组原语(primitive)正式说明,用户进程通过这些原语(操作)来访问该服务

  • 原语告诉服务要执行某个动作,或者将对等实体所执行的动作报告给用户
  • 如果协议栈位于操作系统中,则这些服务通常是一些系统调用

可用的原语取决于底层所提供的服务,面向连接服务和无连接服务的原语是不同的

  • 简单面向连接服务提供的 6 个服务原语

在客户机-服务器环境下实现“请求-应答”交互式应用

  • 使用有确认数据报的一个简单客户机-服务器交互过程

服务与协议的关系

服务是指某一层向它上一层提供的一组原语(操作)。服务定义了该层准备代表其用户执行哪些操作,但是它并不涉及如何实现这些操作。服务与两层之间的接口有关,低层是服务提供者,而上层是服务用户

协议是一组规则,规定了同一层上对等实体之间所交换的数据包或者报文的格式和含义。对等实体利用协议来实现它们的服务定义

服务涉及层与层之间的接口

协议涉及不同机器上两个对等实体之间发送的数据包

  • 服务和协议之间的关系

参考模型

与 OSI 模型相关的协议没有被任何人所用,但实际上,该模型本身具有相当普遍的意义,并仍然有效;它对讨论网络体系结构中每一层的功能还是很重要

TCP/IP 模型本身没有多大用处,但它的协议却已经广为流传

OSI 参考模型

国际标准化组织(ISO, International Standards Organization)1983 的提案,1995 修订

开放系统互连(OSI, Open Systems Interconnection)参考模型

OSI 模型有 7 层,适用于这 7 层的基本原则简要概括如下

  1. 应该在需要一个不同抽象体的地方创建一层
  2. 每一层都应该执行一个明确定义的功能
  3. 每一层功能的选择应该向定义国际标准化协议的目标看齐
  4. 层与层边界的选择应该使跨越接口的信息流最小
  5. 层数应该足够多,保证不同的功能不会被混杂在同一层中,但同时层数又不能太多,以免体系结构变得过于庞大

物理层(physical layer)

目的

  • 关注在一条通信信道上传输原始比特

问题

  • 用什么电子信号表示 1 和 0
  • 一个比特持续多少纳秒
  • 传输是否可以在两个方向上同时进行
  • 初始连接如何建立
  • 当双方结束之后如何撤销连接
  • 网络连接器有多少针(pin)以及每一针的用途是什么等

目的

  • 将一个原始的传输线路转变成一条没有漏检传输错误的线路

问题

  • 帧(framing):将输入的数据拆分成数据帧(data frame),然后顺序发送这些数据帧
  • 错误处理(error handling):如果服务是可靠的,则接收方必须确认正确收到的每一帧,即给发送方返回一个确认帧(acknowledgement frame)
  • 流量控制(flow control):避免快速发送方用数据淹没慢速接收方
  • 介质访问控制子层(medium access control):对于广播式网络,控制对共享信道的访问

网络层(network layer)

目的

  • 控制子网的运行,将数据包从源端路由到接收方
    问题

问题

  • 路由(routing):路由可以建立在静态表的基础上,这些表相当于网络内部的“布线”,而且很少会改变;或者,更常见的情况是路由可以自动更新,以此来避免网络中的故障组件。路由也可以在每次会话开始时就确定下来,比如登录到一台远程机器上。最后,路由可以是高度动态的,针对每一个数据包都重新确定路径,以便反映网络当前的负载情况
  • 拥塞(congestion):控制子网中的包的数量
  • 服务质量(QoS):服务质量(延迟、传输时间、抖动等)
  • 异质 / 异构性(heterogeneity):寻址、包大小、协议(允许异构网络相互连接称为互联网络)

传输层(transport layer)

目的

  • 接受来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并确保这些数据单元正确地到达另一端

问题

  • 服务决定(service decisions):决定提供哪种类型的服务:无错的点到点信道/数据报
  • 端到端(end-to-end):将数据从源端携带到接收方
  • 可靠性(reliability):确保数据包到达目的地,重组错序的消息
  • 隐藏网络(hide network):允许网络细节对上层透明
  • 映射(mapping):决定消息数据哪个连接
  • 流量控制(flow control):防止快速发送方淹没慢速接收方

会话层(session layer)

目的

  • 允许不同机器上的用户监控会话

问题

  • 对话控制(dialog control):记录该由谁来传递数据
  • 令牌管理(token managment):禁止双方同时执行统一个关键操作
  • 同步功能(synchronization):在一个长传输过程中设置一些断点,以便在系统崩溃之后还能恢复到崩溃前的状态继续运行

表示层(presentation layer)

目的

  • 使具有不同数据表示的计算机可以进行通信

问题

  • 所传递信息的语法和语义
  • 了解正在传输的数据的性质。转换 ASCII / EBCDIC,大端序 / 小端序

应用层(application layer)

目的

  • 包含了用户通常需要的各种各样的协议
  • 超文本传输协议(HTTP, HyperText Transfer Protocol)
    • 万维网(WWW, World Wide Web)的基础
  • 文件传输协议 FTP
  • 简单邮件传输协议 SMTP

TCP/IP 参考模型

APPANET 是由美国国防部(DoD, U.S Department of Defense)资助的一个研究性网络

即使在损失子网硬件的情况下网络还能够继续工作,原有的会话不能被打断

不同应用程序对网络的需求差别很大,从文件传输到实时的语音传输,需要一种灵活的网络体系结构

关键

  • 数据包交换网络,以一个可运行在不同网络之上的无连接网络层为基础

描述了链路必须完成什么功能才能满足无连接的互联网络层的需求,比如串行线和经典以太网

不是真正意义上的一个层,而是主机与传输线路之间的一个接口

互联网层(internet layer)

将整个网络体系结构贯穿在一起的关键层

允许主机将数据包注入到任何网络,并且让这些数据包独立地到达接收方(可能在不同的网络上)

路由和拥塞控制

  • 因特网协议(IP, Internet Protocol),定义了官方的数据包格式和协议
  • 因特网控制报文协议(ICMP, Internet Control Message Protocol)

传输层(transport layer)

端到端(end-to-end):允许源主机和目标主机上的对等实体进行对话

传输控制协议(TCP, Transport Control Protocol):是一个可靠的、面向连接的协议,允许从一台机器发出的字节流正确无误地交付到互联网上的另一台机器;保证传输,负责处理流量控制

用户数据报协议(UDP, User Datagram Protocol):是一个不可靠的、无连接协议,适用于那些自己提供有序性和流量控制功能的应用程序

应用层(application layer)

包含所有的高层协议

  • 虚拟终端协议(TELNET)
  • 文件传输协议(FTP)
  • 简单邮件传输协议(SMTP)

书本使用的模型

物理层规定了如何在不同的介质上以电气(或其他模拟)信号传输比特

链路层关注的是如何在两台直接相连的计算机之间发送有限长度的消息,并具有指定级别的可靠性

  • 以太网和 802.11

网络层主要处理如何把多条链路结合到网络中,以及如何把网络把与网络联结成互联网络,以便可以在相隔遥远的计算机之间发送数据包

  • 任务包括找到传递数据包所走的路径
  • IP

传输层增强了网络层的传递保证,通常具有更高的可靠性,而且提供了数据交付的抽象

  • TCP

应用层包含了使用网络的应用程序

  • HTTP、DNS

OSI 参考模型与 TCP/IP 参考模型的比较

OSI 模型的核心是

  • 服务(service)
  • 接口(interface)
  • 协议(protocol)

OSI明确区分了这三个概念,这些思想与面向对象的程序设计思想非常吻合,协议被隐藏(隐蔽性)

  • 每一层都为它的上一层执行某些服务
  • 每一层的接口告诉它上面的进程如何访问本层
  • 每一层用到的对等协议是本层自己内部的事情

TCP/IP 模型最初并没有明确区分服务、接口和协议

TCP/IP 先有协议,模型只是协议的一个描述而已;但是 TCP/IP 模型并不适合任何其他协议栈

区别

  • 层数不同:OSI 7 层,TCP/IP 4 层
  • 无连接和面向连接
    • OSI 模型的网络层同时支持无连接和面向连接的通信,但传输层只支持面向连接的通信
    • TCP/IP 模型在网络层只支持无连接,但在传输层同时支持两种通信模式,这样可以给用户一个选择的机会

OSI 模型和协议的评判

糟糕的时机

  • 两头大象的启示

糟糕的技术

  • 复杂(complex),难以理解(flawed)
  • 7 层很大程度上是处于政策上的考虑

糟糕的实现

  • 庞大(huge)、笨拙(unwieldy)、效率慢

糟糕的政策

  • 学术(academia)与官僚(bureaucrats)

TCP/IP 参考模型的评判

  • 没有明确区分服务、接口和协议
  • 一点也不通用
  • 链路层不是真正意义上的一层
  • 没有区分物理层和数据链路层
  • 很多其他协议是自主形成的,一些协议根深蒂固难以取代

网络实例

因特网

APPANET

  • (a)电话系统结构 (b)分布式交换系统

高级研究计划局(ARPA, Advanced Research Projects Agency)

  • IMP(Interface Message Processors, 接口报文处理器)
  • 节点逐渐增加

NSFNET

美国国家科学基金会(NSF, U.S National Science Foundation)

  • 整个网络,包括骨干网和区域网,合起来统称为 NSFNET

Internet 体系结构

  • 数字用户线(DSL, Digital Subscriber Line)
  • 数字用户线接入复用器(DSLAM, Digital Subscriber Line Access Multiplexer)
  • 拨号(dial-up)
  • 线缆调制解调终端系统(CMTS, Cable Modem Termination System)
  • Internet交换点(IXP, Internet eXchange Point)

拨号速率 56 kbps,高于拨号速率接入 Internet 就被称为宽带(broadband)

Ineternet 用途

  • 指数增长
  • 所有节点都基于 TCP/IP,意味着所有节点都有一个 IP 地址
  • 传统应用(1970-1990)
    • E-mail
    • 新闻
    • 远程登录
    • 文件传输
  • 1990s
    • 万维网(WWW, World Wide Web)
    • 浏览器(browser)
    • Internet 服务提供商(ISP, Internet Service Providers)

第三代移动电话网络(3G Mobile Phone Networks)

  • 蜂窝、基站
  • 无线网络控制器(RNC, Radio Network Controller)
  • 移动交换中心(MSC, Mobile Switching Center)
  • 网关移动交换中心(GMSC, Gateway Mobile Switching Center)
  • 媒体网关(MGW, Media Gateway)
  • 公共交换电话网络(PSTN, Public Switched Telephone Network)
  • 通用数据包业务(GPRS, Genernal Packet Radio Service)
  • 服务 GPRS 支撑节点(SGSN, Serving GPRS Support Node)
  • 网关 GPRS 支撑节点(CGSN, Gateway GPRS Support Node)
  • 归属用户服务器(HSS, Home Subscriber Server)

移交(handover) / 切换(handoff)

  • 软切换 / 硬切换(hard handover)

SIM card

  • 用户识别模块(Subscriber Identity Module)

无线局域网:802.11 WiFi

  • 接入点(AP, Access Point)
  • 自组织网络(ad hoc network)

多径衰弱(multipath fading)

  • 路径多样性(path diversity)
  • 正交频分复用(OFDM, Orthogonal Frequency Division Multiplexing)
  • 载波侦听多路访问(CSMA, Carrier Sense Multiple Access)

无线局域网标准

  • 802.11-1997: 1 Mbps, 2 Mbps (2.4 GHz)
  • 802.11a-1999: 54 Mbps (5 GHz band)
  • 802.11b-1999: 11 Mbps (2.4 GHz)
  • 802.11g-2003: 54 Mbps (2.4 GHz)
  • 802.11n-2009: upto 600 Mbps (operates on both the 2.4 GHz and the lesser used 5 GHz bands)
  • 802.11ac-2012: upto 1 Gbps (5 GHz)

RFID 和传感器网络

  • 无线射频识别(RFID, Radio Frequency IDentification)

相关内容

  • 有源 / 无源 RFID(active / passive)
  • 低频 / 高频 / 超高频 RFID(LF / HF / UHF)
  • 后向散射(backscatter)

多跳网络(multihop network)

网络标准化

事实(De facto) - 来自事实(from the fact)

法定(De jure) - 依据法律(by law)

电信领域有影响力的组织

国际电信联盟(ITU, International Telecommunication Union)

主要部门

  • ITU-R: 无线通信部门(radio communications)
  • ITU-D: 发展部门(development)
  • ITU-T: 电信标准化部门(telecommunications standardization)
    • 研究组 → 工作组 → 专家组 → 专案小组

成员分类

  • 国家政府(national governments)
  • 部门成员(sector members)
  • 准成员(associate members)
  • 监管机构(regulatory agencies)

国际标准领域有影响力的组织

国际标准化组织(ISO, International Standards Organization)

  • 制定和发布国际标准
  • 成员是 157 个成员国的国家标准组织,包括 ANSI(美国)、BSI(英国)、…

国家标准和技术协会(NIST, National Institute of Standards and Technology)

电气和电子工程师协会(IEEE, Institute of Electrical and Electronics Engineers)

  • 标准化组
  • 802 工作组

Internet 标准领域有影响力的组织

Internet 体系结构委员会(Internet Architecture Board)

  • Internet 研究任务组(IRTF, Internet Research Task Force)
  • Internet 工程任务组(IETF, InternetEngineering Task Force)
    • 请求注释(RFC, Request For Comments)

Internet 协会(Internet Society)

万维网联盟(W3C, World Wide Web Consortium)

度量单位

8 bit = 11 Byte
1 KB = 2102^{10} B
1 MB = 2202^{20} B
1 GB = 2302^{30} B
1 TB = 2402^{40} B

1 kbps = 10310^3 bps
1 Mbps = 10610^6 bps
1 Gbps = 10910^9 bps
1 Tbps = 101210^{12} bps

1 ms(毫秒,千分之一秒) = 10310^{-3} s
1 μs(微秒,百万分之一秒) = 10610^{-6} s
1 ns(纳秒,十亿分之一秒) = 10910^{-9} s